<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>循环语句练习</title>
    <script>
        //获取用户输入的任意数，判断其是否是质数。

        //方式一
        var num = +prompt('请输入一个大于1的自然数');//得到用户输入的数值
        var a = 0;//记录num被i（1<=i<=num）整除的次数

        // 判断num输入的是否符合条件
        while (isNaN(num) || num <= 1 ){
            num = +prompt('请输入一个正确且大于1的自然数，否则哒哒哒……');
        }

        //用for循环检查num能被i整除的次数
        for (i=2; i<num; i++){
            if (num % i == 0) {
                a++;
            }
            // console.log(a);
        }

        if (a == 0){
            alert('您输入的自然数' + num + '是质数(素数)');
        }else {
            alert('您输入的自然数' + num + '是合数');
        }

        /*//方式二
        //获取用户输入的内容
        var num = +prompt('请输入一个大于1的自然数');

        while (isNaN(num) || num <= 1 ){
            num = +prompt('请输入一个正确且大于1的自然数，否则哒哒哒……');
        }

        //创建一个变量记录num是否为质数
        var flag = true;
        //检查num是否是质数，现获取所有可能整除num的数（num的因数）
        for (var i=2; i<num; i++){
        //如果num能被i整除，num一定不是质数
        if (num % i == 0){
            flag = false
            }
        }

        //检查num是否是质数，并输出结果
        if (flag){
            alert('是质数')
        }else {
            alert('不是质数')
        }*/

        /*求1000以内的水仙花数
        水仙花数是指一个 n 位数（n≥3 ），
        它的每个位上的数字的 n 次幂之和等于它本身
        （例如：1**3 + 5**3 + 3**3 = 153）。*/

        /*var count = 0;//创建计数器记录水仙花数的个数
        var hundreds = 0;//创建变量用来记录提取的百位数字
        var ten = 0;//创建变量用来记录提取的十位数字
        var unit = 0;//创建变量用来记录提取的个位数字

        //获取1000以内的三位数
        for (var i=100; i<1000; i++){
            //获取i的百位数字,用parseInt取整
            //虽然parseInt（）可以用来对数字进行取整，但是它的性能很低，开发时别用
            hundreds = parseInt(i / 100);
            //获取i的十位数字
            ten = parseInt(i / 10) % 10;
            //获取i的个位数字
            unit = i % 10;

            //判断i是否是水仙花数
            //i的百位数 十位数 个位数三个数的立方和如果等于i，那么i就是水仙花数
            if (hundreds ** 3 + ten ** 3 + unit ** 3 === i){
                count++;
                console.log(i);
            }
        }
        alert('1000以内的水仙花数共有' + count + '个。');*/


        /*求100以内所有7的倍数之和，以及个数*/

        /*//方式一
        //创建一个变量存储和
        var sum = 0;
        //创建一个变量存储个数
        var count = 0;

        //获取一百以内所有的数
        for (var i=1; i<100; i++){
              //获取7的倍数
            if (i % 7 == 0){
                sum += i;
                count++;
                console.log(i);
            }
        }
        alert('100以内7的倍数有' + count + '个;' + '它们的和是' + sum);*/

        /*//方式二
        //创建一个变量存储和
        var sum = 0;
        //创建一个变量存储个数
        var count = 0;

        //获取100以内所有7的倍数
        for (var i=7; i<100; i+=7){
            sum += i;
            count++;
        }
        alert('100以内7的倍数有' + count + '个;' + '它们的和是' + sum);*/

        /*求100以内所有的奇数之和*/

        /*//方式一
        var oddNumber = 0;//创建变量，记录求和结果

        //获取100以内所有的数
        for (var i=0; i<100; i++){
            //判断i是奇数
            if (i % 2 != 0){
                //将所有奇数在oddNumber中进行累加
                oddNumber += i;//等同于oddNumber=oddNumber+i
            }
        }
        alert('100以内的奇数和为' + oddNumber);*/

        /*//方式二

        //创建变量对结果累加
        var oddNumber = 0;
        //获取所有奇数
        for (var i=1, oddNumber=0; i<100; i+=2){
            console.log(i);
            oddNumber += i;
        }

        alert('100以内的奇数和为' + oddNumber);*/


    </script>
</head>
<body>

</body>
</html>